package com.ecnu.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;

/**
 * <p>
 * ecnu_活动_成果表
 * </p>
 *
 * @author zdn
 * @since 2025-03-24
 */
@Getter
@Setter
@TableName("project_result")
public class ProjectResult implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    /**
     * 活动id
     */
    @TableField("pro_id")
    @NotBlank(message = "活动编号不能为空")
    @ApiModelProperty(value = "活动编号")
    private String proId;

    /**
     * 阶段id
     */
    @TableField("stage_id")
    @NotBlank(message = "任务清单编号不能为空")
    @ApiModelProperty(value = "任务清单编号")
    private String stageId;

    /**
     * 任务id
     */
    @TableField("mission_id")
    @NotBlank(message = "任务编号不能为空")
    @ApiModelProperty(value = "任务编号")
    private String missionId;

    /**
     * 成果名称
     */
    @TableField("name")
    @NotBlank(message = "成果名称不能为空")
    @ApiModelProperty(value = "成果名称")
    private String name;

    /**
     * 地址
     */
    @TableField("url")
    @NotBlank(message = "成果地址不能为空")
    @ApiModelProperty(value = "成果地址")
    private String url;

    /**
     * 状态（1删除，0使用）
     */
    @TableField("status")
    @JsonIgnore
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField("del_flag")
    @JsonIgnore
    private String delFlag;

    /**
     * 是否延期提交（1延期，0无延期）
     */
    @TableField("isPostpone")
    @JsonIgnore
    private String isPostpone;

    /**
     * 创建人
     */
    @TableField("create_user")
    private String createUser;

    /**
     * 开始时间
     */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy.MM.dd", timezone = "GMT+8")
    @ApiModelProperty(value = "开始时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField("updateTime")
    @JsonIgnore
    private Date updateTime;


}
